home *** CD-ROM | disk | FTP | other *** search
/ Wired for Sound Pro / Wired for Sound Pro CD (Aristosoft, Inc.) (1993).ISO / wfscdset / wfs.bak < prev    next >
Text File  |  1993-11-01  |  24KB  |  615 lines

  1. ''
  2. '' CD Blaster / Wired for Sound 3.0 Pro CD-specific install functions
  3. '' Copyright (c) 1993 Aristosoft, Inc.
  4. ''
  5.  
  6. '' Set up product-specific titles, etc.
  7. SUB SetProductTitles STATIC
  8.     SetTitle "Wired for Sound Pro CD"
  9.     WFSAPP$ = "WFS Pro"
  10. END SUB
  11.  
  12.  
  13. FUNCTION InfFile() STATIC AS STRING
  14.     InfFile = "WFS.INF"
  15. END FUNCTION
  16.  
  17.  
  18. FUNCTION MakeInstDir(D$) STATIC AS STRING
  19.  
  20.     '' If we're lucky, this will tell us where we're located
  21.     S$ = GetIniKeyString(WININI$, "Aristosoft", "WFS")
  22.  
  23.     '' If that didn't work, then try this for 2.02
  24.     IF S$ = "" THEN
  25.     S$ = GetIniKeyString(WININI$, "Sound API", "MaleVoice")
  26.     S$ = mid$(S$, 1, len(S$) - len("\VOICE3.VOI"))
  27.     END IF
  28.  
  29.     '' If that didn't work, then we'll punt with the default
  30.     IF S$ = "" THEN
  31.     S$ = D$ + ":\WFSOUND"
  32.     END IF
  33.  
  34.     '' WFSOUND.INF must be in any installed WFS product
  35.     IF EXISTS(MakePath(S$, "WFSOUND.INF")) THEN
  36.     r% = DoMsgBox("An installed copy of Wired for Sound was found in " + S$+ ".", "Wired for Sound", MB_OK)
  37.     END IF
  38.  
  39.     MakeInstDir = S$
  40. END FUNCTION
  41.  
  42.  
  43. SUB AddInfSectionNames(BASE$, TAPPS$, SOUNDS$, VOICES$, BASEINST$, TAPPSINST$, SOUNDSINST$, VOICESINST$) STATIC
  44.  
  45.     '' These are the base files we can install
  46.     AddListItem BASE$, "Base Files"
  47.     SetSymbolValue BASEINST$, GetSymbolValue(BASE$)
  48.  
  49.     '' These are the Talking Apps we can install
  50.     AddListItem TAPPS$, "CD Browser"
  51.     AddListItem TAPPS$, "Color Cursors"
  52.     AddListItem TAPPS$, "Cursor Changer"
  53.     AddListItem TAPPS$, "Groupie"
  54.     AddListItem TAPPS$, "Icon Changer"
  55.     AddListItem TAPPS$, "Intruder Alert"
  56.     AddListItem TAPPS$, "MediaScape Changer"
  57.     AddListItem TAPPS$, "Multimedia Jukebox"
  58.     AddListItem TAPPS$, "Multimedia Screen Saver"
  59.     AddListItem TAPPS$, "Post This!"
  60.     AddListItem TAPPS$, "Talking Calculator"
  61.     AddListItem TAPPS$, "Talking Calendar"
  62.     AddListItem TAPPS$, "Talking Clock"
  63.     AddListItem TAPPS$, "Talking Graveyard"
  64.     AddListItem TAPPS$, "Talking Minesweeper"
  65.     AddListItem TAPPS$, "Talking Monitor"
  66.     AddListItem TAPPS$, "Talking Solitaire"
  67.     AddListItem TAPPS$, "Wallpaper Changer"
  68.     AddListItem TAPPS$, "WFS Sound Editor"
  69.  
  70.     '' By default, we install all Talking Apps
  71.     SetSymbolValue TAPPSINST$, GetSymbolValue(TAPPS$)
  72.  
  73.     '' These are the sounds we can install
  74.     AddListItem SOUNDS$, "Button Sounds"
  75.     AddListItem SOUNDS$, "Funny Sounds"
  76.     AddListItem SOUNDS$, "Human Sounds"
  77.     AddListItem SOUNDS$, "Icon Sounds"
  78.     AddListItem SOUNDS$, "Job Saver Sounds"
  79.     AddListItem SOUNDS$, "Phrase Sounds"
  80.     AddListItem SOUNDS$, "Classical MIDI"
  81.     AddListItem SOUNDS$, "Jazz MIDI"
  82.     AddListItem SOUNDS$, "Misc. MIDI"
  83.     AddListItem SOUNDS$, "New Age MIDI"
  84.     AddListItem SOUNDS$, "Pleasant MIDI"
  85.     AddListItem SOUNDS$, "R & B MIDI"
  86.  
  87.     '' By default, we install all the above
  88.     SetSymbolValue SOUNDSINST$, GetSymbolValue(SOUNDS$)
  89.  
  90.     '' Only include this file if we can find the Star Trek DLL
  91.     st$ = GetIniKeyString(MakePath(WINDIR$, "AD_PREFS.INI"), "After Dark", "Path")
  92.     IF EXISTS(MakePath(st$, "st_res\st_snd.dll")) THEN
  93.     AddListItem SOUNDSINST$, "Star Trek Stubs"
  94.     END IF
  95.  
  96.     '' ...but it's always an option
  97.     AddListItem SOUNDS$, "Star Trek Stubs"
  98.  
  99.     '' The user probably doesn't want all these on the HD by default
  100.     AddListItem SOUNDS$, "Video Samples"
  101.     AddListItem SOUNDS$, "Animal Sounds"
  102.     AddListItem SOUNDS$, "Cartoon Sounds"
  103.     AddListItem SOUNDS$, "Destructive Sounds"
  104.     AddListItem SOUNDS$, "Drums and Cymbals"
  105.     AddListItem SOUNDS$, "Equipment Sounds"
  106.     AddListItem SOUNDS$, "People Sounds"
  107.     AddListItem SOUNDS$, "Illness Sounds"
  108.     AddListItem SOUNDS$, "Impact Sounds"
  109.     AddListItem SOUNDS$, "Musical Sounds"
  110.     AddListItem SOUNDS$, "Popping Sounds"
  111.     AddListItem SOUNDS$, "Ringing Sounds"
  112.     AddListItem SOUNDS$, "Ripping and Tearing"
  113.     AddListItem SOUNDS$, "Nuts & Bolts"
  114.     AddListItem SOUNDS$, "Sports Sounds"
  115.     AddListItem SOUNDS$, "Word Sounds"
  116.     AddListItem SOUNDS$, "Misc. Sounds"
  117.     AddListItem SOUNDS$, "Bach MIDI"
  118.     AddListItem SOUNDS$, "Beethoven MIDI"
  119.     AddListItem SOUNDS$, "Handel MIDI"
  120.     AddListItem SOUNDS$, "Long Classical MIDI"
  121.     AddListItem SOUNDS$, "Mozart MIDI"
  122.     AddListItem SOUNDS$, "Tchaikovsky MIDI"
  123.     AddListItem SOUNDS$, "Vivaldi MIDI"
  124.  
  125.     '' We can install all these voices and faces
  126.     '' AddListItem VOICES$, "Female Voice"
  127.     AddListItem VOICES$, "Make-Your-Own Voice"
  128.     AddListItem VOICES$, "Male Voice (compressed)"
  129.     AddListItem VOICES$, "Computer Face"
  130.     AddListItem VOICES$, "Male Face"
  131.     AddListItem VOICES$, "Female Face"
  132.     AddListItem VOICES$, "WFS Face"
  133.  
  134.     '' By default, we install all the above
  135.     SetSymbolValue VOICESINST$, GetSymbolValue(VOICES$)
  136.  
  137.     '' These aren't in the default install
  138.     AddListItem VOICES$, "NY Female Voice"
  139.     AddListItem VOICES$, "NY Male Voice"
  140.     AddListItem VOICES$, "Southern Female Voice (compressed)"
  141.     AddListItem VOICES$, "Southern Male Voice (compressed)"
  142.  
  143.     AddListItem VOICES$, "British Female Voice (compressed)"
  144.     AddListItem VOICES$, "Sultry Female Face"
  145.     AddListItem VOICES$, "Sultry Female Voice (compressed)"
  146.  
  147.     AddListItem VOICES$, "Female Chinese Voice"
  148.     AddListItem VOICES$, "Female German Voice (compressed)"
  149.     AddListItem VOICES$, "Female Italian Voice (compressed)"
  150.     AddListItem VOICES$, "Female Japanese Voice (compressed)"
  151.     AddListItem VOICES$, "Female Spanish Voice (compressed)"
  152.     AddListItem VOICES$, "Female Swedish Voice (compressed)"
  153.  
  154.     AddListItem VOICES$, "Male French Voice (compressed)"
  155.  
  156.     AddListItem VOICES$, "Arnold Blaster Voice (compressed)"
  157.     AddListItem VOICES$, "Arnold Blaster Face"
  158.     AddListItem VOICES$, "Clinton Blaster Voice (compressed)"
  159.     AddListItem VOICES$, "Clinton Blaster Face"
  160.     AddListItem VOICES$, "Harold Blaster Voice (compressed)"
  161.     AddListItem VOICES$, "Harold Blaster Face"
  162.     AddListItem VOICES$, "H. George Blaster Voice (compressed)"
  163.     AddListItem VOICES$, "H. George Blaster Face"
  164.     AddListItem VOICES$, "H. Ross Blaster Voice (compressed)"
  165.     AddListItem VOICES$, "H. Ross Blaster Face"
  166.     AddListItem VOICES$, "H. Simmons Blaster Voice (compressed)"
  167.     AddListItem VOICES$, "H. Simmons Blaster Face"
  168.     AddListItem VOICES$, "Marge Blaster Voice (compressed)"
  169.     AddListItem VOICES$, "Marge Blaster Face"
  170.     AddListItem VOICES$, "Nerd Face"
  171.     AddListItem VOICES$, "Synthesized Voice"
  172.  
  173. END SUB
  174.  
  175.  
  176. SUB RecalcPath STATIC
  177.     CursorSave% = ShowWaitCursor()
  178.     RecalcOptFiles BASEFILES
  179.     RecalcOptFiles SOUNDFILES
  180.     RecalcOptFiles TAPPFILES
  181.     RecalcOptFiles VOICEFILES
  182.     RestoreCursor CursorSave%
  183. END SUB
  184.  
  185.  
  186. SUB AddOptFiles STATIC
  187.     AddOptFilesToCopyList BASEFILES
  188.     AddOptFilesToCopyList TAPPFILES
  189.     AddOptFilesToCopyList SOUNDFILES
  190.     AddOptFilesToCopyList VOICEFILES
  191. END SUB
  192.  
  193.  
  194. SUB AddOptFilesToCopyList (ftype%) STATIC
  195.  
  196.     IF GetListItem(CHECKSTATES$, ftype%) = "ON" THEN
  197.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  198.     IF ftype% = BASEFILES THEN
  199.         ''Base files
  200.         l% = GetListLength(BASEINST$)
  201.         FOR i% = 1 TO l% STEP 1
  202.         AddSectionFilesToCopyList GetListItem(BASEINST$, i%), MakePath(SrcDir$, "WFS"), DEST$
  203.         NEXT i%
  204.  
  205.         '' Install default voices and faces
  206.         AddSectionFilesToCopyList "Null Face", SrcDir$, DEST$
  207.         AddSectionFilesToCopyList "Female Voice (compressed)", SrcDir$, DEST$
  208.         AddSectionFilesToCopyList "Read Me", SrcDir$, DEST$
  209.  
  210.         '' Install Video for Windows runtime
  211.         AddSectionFilesToCopyList "Media Player", MakePath(SrcDir$, "WFS\VFW"), WINDIR$
  212.         AddSectionFilesToCopyList "VFW Runtime", MakePath(SrcDir$, "WFS\VFW"), SYSDIR$
  213.         AddSectionFilesToCopyList "Codecs", MakePath(SrcDir$, "WFS\VFW"), WINDIR$
  214.  
  215.         AddSpecialFileToCopyList "System Files", "CTL3D", MakePath(SrcDir$, "WFS"), MakePath(SYSDIR$, "CTL3D.DLL")
  216.         AddSpecialFileToCopyList "System Files", "DIB", MakePath(SrcDir$, "WFS"), MakePath(SYSDIR$, "DIB.DRV")
  217.  
  218.         IF INSTDSOUND% OR EXISTS(MakePath(SYSDIR$, "DSOUND.DLL")) THEN
  219.         AddSpecialFileToCopyList "DSOUND Files", "DSOUND", SrcDir$, MakePath(SYSDIR$, "DSOUND.DLL")
  220.         AddSpecialFileToCopyList "DSOUND Files", "DSCPL", SrcDir$, MakePath(SYSDIR$, "DSCPL.CPL")
  221.         END IF
  222.  
  223.     ELSEIF ftype% = TAPPFILES THEN
  224.         l% = GetListLength(TAPPSINST$)
  225.         FOR i% = 1 TO l% STEP 1
  226.         AddSectionFilesToCopyList GetListItem(TAPPSINST$, i%), MakePath(SrcDir$, "WFS"), DEST$
  227.         NEXT i%
  228.  
  229.         IF StringInList("Talking Calculator", TAPPSINST$) THEN
  230.         AddSpecialFileToCopyList "System Files", "LCD Font (VGA)", MakePath(SrcDir$, "WFS"), MakePath(SYSDIR$, "LCD.FON")
  231.         AddSpecialFileToCopyList "System Files", "LCD Font (8514a)", MakePath(SrcDir$, "WFS"), MakePath(SYSDIR$, "LCDBIG.FON")
  232.         END IF
  233.  
  234.         IF StringInList("Color Cursors", TAPPSINST$) THEN
  235.         AddSectionFilesToCopyList "Cursors", SrcDir$, DEST
  236.         AddSpecialFileToCopyList "System Files", "CCSHELL", MakePath(SrcDir$, "WFS"), MakePath(SYSDIR$, "CCSHELL.DRV")
  237.         END IF
  238.  
  239.         IF StringInList("Jukebox", TAPPSINST$) THEN
  240.         AddSpecialFileToCopyList "System Files", "MMSSSCR", MakePath(SrcDir$, "WFS"), MakePath(WINDIR$, "MMSSSCR.SCR")
  241.         END IF
  242.  
  243.         IF StringInList("Wallpaper Changer", TAPPSINST$) THEN
  244.         AddSectionFilesToCopyList "Patterns", SrcDir$, DEST$
  245.         END IF
  246.  
  247.     ELSEIF ftype% = SOUNDFILES THEN
  248.         l% = GetListLength(SOUNDSINST$)
  249.         FOR i% = 1 TO l% STEP 1
  250.         AddSectionFilesToCopyList GetListItem(SOUNDSINST$, i%), SrcDir$, DEST$
  251.         NEXT i%
  252.  
  253.     ELSEIF ftype% = VOICEFILES THEN
  254.         l% = GetListLength(VOICESINST$)
  255.         FOR i% = 1 TO l% STEP 1
  256.         AddSectionFilesToCopyList GetListItem(VOICESINST$, i%), SrcDir$, DEST$
  257.         NEXT i%
  258.     END IF
  259.     SrcDir$ = ""
  260.     END IF
  261.  
  262. END SUB
  263.  
  264.  
  265. SUB SetDriveStatus STATIC
  266.     FITS% = 0
  267.     drive$ = MID$(DEST$, 1, 1)
  268.     ndrive% = ASC(ucase$(drive$)) - ASC("A") + 1
  269.  
  270.     cost& = VAL(GetListItem(BASENEEDS$, ndrive%))
  271.     cost& = cost& + VAL(GetListItem(SOUNDNEEDS$, ndrive%))
  272.     cost& = cost& + VAL(GetListItem(TAPPNEEDS$, ndrive%))
  273.     cost& = cost& + VAL(GetListItem(VOICENEEDS$, ndrive%))
  274.  
  275.     free& = GetFreeSpaceForDrive(drive$)
  276.     IF cost& > free& THEN
  277.     FITS% = 1
  278.     END IF
  279.     ReplaceListItem DRIVETEXT$, 1, drive$ + ":"
  280.     ReplaceListItem DRIVETEXT$, 2, STR$(cost& / 1024) + " K"
  281.     ReplaceListItem DRIVETEXT$, 3, STR$(free& / 1024) + " K"
  282.  
  283.     IF drive$ = WINDRIVE$ THEN
  284.     ReplaceListItem DRIVETEXT$, 4, ""
  285.     ReplaceListItem DRIVETEXT$, 5, ""
  286.     ReplaceListItem DRIVETEXT$, 6, ""
  287.     ELSE
  288.     ndrive% = ASC(ucase$(WINDRIVE$)) - ASC("A") + 1
  289.  
  290.     cost& = VAL(GetListItem(BASENEEDS$, ndrive%))
  291.     cost& = cost& + VAL(GetListItem(SOUNDNEEDS$, ndrive%))
  292.     cost& = cost& + VAL(GetListItem(TAPPNEEDS$, ndrive%))
  293.     cost& = cost& + VAL(GetListItem(VOICENEEDS$, ndrive%))
  294.  
  295.     IF cost& = 0 THEN
  296.         ReplaceListItem DRIVETEXT$, 4, ""
  297.         ReplaceListItem DRIVETEXT$, 5, ""
  298.         ReplaceListItem DRIVETEXT$, 6, ""
  299.     ELSE
  300.         free& = GetFreeSpaceForDrive(WINDRIVE$)
  301.         IF cost& > free& THEN
  302.         FITS% = 1
  303.         END IF
  304.         ReplaceListItem DRIVETEXT$, 4, WINDRIVE$ + ":"
  305.         ReplaceListItem DRIVETEXT$, 5, STR$(cost& / 1024) + " K"
  306.         ReplaceListItem DRIVETEXT$, 6, STR$(free& / 1024) + " K"
  307.     END IF
  308.     END IF
  309. END SUB
  310.  
  311.  
  312. '' Add billboard dialogs for this app
  313. SUB AddBillboards STATIC
  314.     AddToBillboardList CUIDLL$, BBD1, "FModelessDlgProc", 100
  315.     AddToBillboardList CUIDLL$, BBD2, "FModelessDlgProc", 100
  316.     AddToBillboardList CUIDLL$, BBD3, "FModelessDlgProc", 100
  317.     AddToBillboardList CUIDLL$, BBD4, "FModelessDlgProc", 100
  318.     AddToBillboardList CUIDLL$, BBD5, "FModelessDlgProc", 100
  319.     AddToBillboardList CUIDLL$, BBD6, "FModelessDlgProc", 100
  320. END SUB
  321.  
  322.  
  323. CONST IDC_OWNER = 104
  324. CONST IDC_WORKPLACE = 106
  325. CONST RT_RCDATA = 10
  326.  
  327. SUB ConfigureApps STATIC
  328.  
  329.     '' This is so Fixer can find where we're installed
  330.     CreateIniKeyValue WININI$, "Aristosoft", "WFS", DEST$, cmoOverwrite
  331.  
  332.     '' This is the name of the group we'll install into
  333.     GROUP$ = "WFS Pro CD"
  334.  
  335.     '' Configure base applications
  336.     IF GetListItem(CHECKSTATES$, BASEFILES) = "ON" THEN
  337.     '' Create file pointers with base setup
  338.     IF EXISTS(MakePath(DEST$, "location.cdf")) THEN
  339.         r% = DoMsgBox("Do you want to rebuild the Virtual CD pointers?", "Wired for Sound", MB_YESNO)
  340.         IF r% = IDNO THEN
  341.         GOTO MakeGroup
  342.         END IF
  343.     END IF
  344.  
  345.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  346.     res% = Run("cdfinst.exe " + MakePath(SrcDir$, "FILES.LOC") + " " + SrcDir$ + " " + DEST$)
  347.     SrcDir$ = ""
  348.  
  349. MakeGroup:
  350.     '' Create a group for us...
  351.     CreateProgmanGroup GROUP$, "", cmoNone
  352.  
  353.     '' Setup WFS Pro
  354.     CreateProgmanItem GROUP$, WFSAPP$, MakePath(DEST$, "wfsound.exe"), "", cmoOverwrite
  355.     CreateProgmanItem GROUP$, "Configuration Editor", MakePath(DEST$, "wfsfix.exe"), "", cmoOverwrite
  356.  
  357.     CreateProgmanItem GROUP$, "Read Me!", "write.exe " + MakePath(DEST$, "readme.wri"), "", cmoOverwrite
  358.  
  359.  
  360.     INI$ = MakePath(DEST$, "FACE.INI")
  361.     CreateIniKeyValue INI$, "Face", "WFSOUND.EXE", "+NULLFACE.FAC", cmoNone
  362.  
  363.     IF INSTDSOUND% THEN
  364.         CreateProgmanItem GROUP$, "DSOUND Info", "notepad.exe " + MakePath(DEST$, "dsound.txt"), "", cmoOverwrite
  365.     END IF
  366.  
  367.     CreateProgmanItem GROUP$, "Media Manager", MakePath(DEST$, "sndmnger.exe"), "", cmoOverwrite
  368.  
  369.     '' Setup up default association file
  370.     CreateIniKeyValue MakePath(DEST$, "WFSOUND.INF"), "WFSound", "ActiveProfile", MakePath(DEST$, "DEFAULT.WFS"), cmoNone
  371.  
  372.     INI$ = MakePath(DEST$, "FACE.INI")
  373.     CreateIniKeyValue INI$, "Face", "WFSOUND.EXE", "+NULLFACE.FAC", cmoNone
  374.  
  375.     ''Turn on icon events only if we support the shell
  376.     s$ = LCASE$(GetIniKeyString(SYSINI$, "boot", "shell"))
  377.     IF INSTR(s$, "progman.exe") THEN
  378.         i$ = "1"
  379.     ELSEIF INSTR(s$, "ndw.exe") THEN
  380.         i$ = "1"
  381.     ELSEIF INSTR(s$, "wndt.exe") THEN
  382.         i$ = "1"
  383.     ELSE
  384.         i$ = "0"
  385.     END IF
  386.     CreateIniKeyValue MakePath(DEST$, "DEFAULT.WFS"), "Status", "Icon", i$, cmoNone
  387.     s$ = ""
  388.     i$ = ""
  389.  
  390.     '' Disable Win 3.1 system startup and exit sounds
  391.     s$ = GetIniKeyString(WININI$, "Sounds", "SystemStart")
  392.     CreateIniKeyValue WININI$, "Sounds", "OldSystemStart", s$, cmoOverwrite
  393.     CreateIniKeyValue WININI$, "Sounds", "SystemStart", "<none>,System Start", cmoOverwrite
  394.  
  395.     s$ = GetIniKeyString(INI$, "Sounds", "SystemExit")
  396.     CreateIniKeyValue WININI$, "Sounds", "OldSystemExit", s$, cmoOverwrite
  397.     CreateIniKeyValue WININI$, "Sounds", "SystemExit", "<none>,System Exit", cmoOverwrite
  398.  
  399.     '' Remove vox.drv
  400.     IF LCASE$(GetIniKeyString(SYSINI$, "drivers", "wavemapper")) = "vox.drv" THEN
  401.         s$ = GetIniKeyString(SYSINI$, "drivers", "vox.wavemapper")
  402.         CreateIniKeyValue SYSINI$, "drivers", "wavemapper", s$, cmoOverwrite
  403.     END IF
  404.  
  405.     ''Stamp the WFSABOUT resources
  406.     IF len(OWNER$) > 0 THEN
  407.         StampResource "Base Files", "WFS About", DEST$, RT_RCDATA, IDC_OWNER, OWNER$ + chr$(0), len(OWNER$) + 1
  408.     ELSE
  409.         StampResource "Base Files", "WFS About", DEST$, RT_RCDATA, IDC_OWNER, " " + chr$(0), 2
  410.     END IF
  411.     IF len(WORKPLACE$) > 0 THEN
  412.         StampResource "Base Files", "WFS About", DEST$, RT_RCDATA, IDC_WORKPLACE, WORKPLACE$ + chr$(0), len(WORKPLACE$) + 1
  413.     ELSE
  414.         StampResource "Base Files", "WFS About", DEST$, RT_RCDATA, IDC_WORKPLACE, " " + chr$(0), 2
  415.     END IF
  416.  
  417.     '' Setup Video for Windows
  418.     CreateIniKeyValue SYSINI$, "Drivers", "VIDC.MSVC", "msvidc.drv", cmoNone
  419.     CreateIniKeyValue SYSINI$, "Drivers", "VIDC.RT21", "indeo.drv", cmoNone
  420.     CreateIniKeyValue SYSINI$, "mci", "AVIVideo", "mciavi.drv", cmoNone
  421.     CreateIniKeyValue WININI$, "mci extensions", "avi", "AVIVideo", cmoNone
  422.  
  423.     res% = Run("regedit.exe /s " + MakePath(WINDIR$, "mplayer.reg"))
  424.  
  425.     END IF
  426.  
  427.     '' Configure Talking Applications
  428.     IF GetListItem(CHECKSTATES$, TAPPFILES) = "ON" THEN
  429.  
  430.     IF StringInList("CD Browser", TAPPSINST$) THEN
  431.         CreateProgmanItem GROUP$, "CD Browser", MakePath(DEST$, "browser.exe"), "", cmoOverwrite
  432.     END IF
  433.  
  434.     IF StringInList("Multimedia Screen Saver", TAPPSINST$) THEN
  435.         CreateProgmanItem GROUP$, "Multimedia Screen Saver", MakePath(DEST$, "mmssaver.exe"), "", cmoOverwrite
  436.         CreateIniKeyValue WININI$, "Aristosoft", "ScreenSaver", MakePath(DEST$, "mmssaver.exe"), cmoOverwrite
  437.  
  438.         INI$ = MakePath(DEST$, "MMSSAVER.INI")
  439.         CreateIniKeyValue INI$, "Settings", "SplFile", MakePath(DEST$, "default.spl"), cmoNone
  440.     END IF
  441.  
  442.     IF StringInList("Multimedia Jukebox", TAPPSINST$) THEN
  443.         CreateProgmanItem GROUP$, "Multimedia Jukebox", MakePath(DEST$, "mmjbox.exe"), "", cmoOverwrite
  444.  
  445.         INI$ = MakePath(DEST$, "MMJBOX.INI")
  446.         CreateIniKeyValue INI$, "Settings", "BoxFile", MakePath(DEST$, "default.box"), cmoNone
  447.     END IF
  448.  
  449.     IF StringInList("Wallpaper Changer", TAPPSINST$) THEN
  450.         CreateProgmanItem GROUP$, "Wallpaper Changer", MakePath(DEST$, "wally.exe"), "", cmoOverwrite
  451.         INI$ = MakePath(DEST$, "WALLY.INI")
  452.         CreateIniKeyValue INI$, "Settings", "WallFile", MakePath(DEST$, "default.wal"), cmoNone
  453.     END IF
  454.  
  455.     IF StringInList("MediaScape Changer", TAPPSINST$) THEN
  456.         CreateProgmanItem GROUP$, "MediaScape Changer", MakePath(DEST$, "scape.exe"), "", cmoOverwrite
  457.     END IF
  458.  
  459.     IF StringInList("Post This!", TAPPSINST$) THEN
  460.         CreateProgmanItem GROUP$, "Post This!", MakePath(DEST$, "postit.exe"), "", cmoOverwrite
  461.     END IF
  462.  
  463.     IF StringInList("Icon Changer", TAPPSINST$) THEN
  464.         CreateProgmanItem GROUP$, "Icon Changer", MakePath(DEST$, "iconplus.exe"), "", cmoOverwrite
  465.     END IF
  466.  
  467.     IF StringInList("Color Cursors", TAPPSINST$) THEN
  468.         CreateProgmanItem GROUP$, "Color Cursors", MakePath(DEST$, "ccset.exe"), "", cmoOverwrite
  469.         CreateProgmanItem GROUP$, "Color Cursor Configuration Utility", MakePath(DEST$, "ccconfig.exe"), "", cmoOverwrite
  470.     END IF
  471.  
  472.     IF StringInList("Cursor Changer", TAPPSINST$) THEN
  473.         CreateProgmanItem GROUP$, "Cursor Changer", MakePath(DEST$, "cursor.exe") + " /foo /bar", "", cmoOverwrite
  474.     END IF
  475.  
  476.     IF StringInList("Talking Solitaire", TAPPSINST$) THEN
  477.         CreateProgmanItem GROUP$, "Talking Solitaire", MakePath(DEST$, "tsol.exe"), "", cmoOverwrite
  478.         CreateProgmanItem GROUP$, "How to Cheat at Solitaire", "winhelp " + MakePath(DEST$, "tsol.hlp"), "", cmoOverwrite
  479.         INI$ = MakePath(DEST$, "VOICE.INI")
  480.         CreateIniKeyValue INI$, "Voice Library", "TSOL.EXE", "+female.voi", cmoNone
  481.         INI$ = MakePath(DEST$, "FACE.INI")
  482.         CreateIniKeyValue INI$, "Face", "TSOL.EXE", "+NULLFACE.FAC", cmoNone
  483.     END IF
  484.  
  485.     IF StringInList("Talking Minesweeper", TAPPSINST$) THEN
  486.         CreateProgmanItem GROUP$, "Talking Minesweeper", MakePath(DEST$, "tmine.exe"), "", cmoOverwrite
  487.         CreateProgmanItem GROUP$, "How to Win Minesweeper", "winhelp " + MakePath(DEST$, "tmine.hlp"), "", cmoOverwrite
  488.     END IF
  489.  
  490.     IF StringInList("Talking Monitor", TAPPSINST$) THEN
  491.         CreateProgmanItem GROUP$, "Talking Monitor", MakePath(DEST$, "tmon.exe"), "", cmoOverwrite
  492.         INI$ = MakePath(DEST$, "VOICE.INI")
  493.         CreateIniKeyValue INI$, "Voice Library", "TMON.EXE", "+female.voi", cmoNone
  494.         INI$ = MakePath(DEST$, "FACE.INI")
  495.         CreateIniKeyValue INI$, "Face", "TMON.EXE", "+NULLFACE.FAC", cmoNone
  496.     END IF
  497.  
  498.     IF StringInList("Talking Graveyard", TAPPSINST$) THEN
  499.         CreateProgmanItem GROUP$, "Talking Graveyard", MakePath(DEST$, "tgrave.exe"), "", cmoOverwrite
  500.     END IF
  501.  
  502.     IF StringInList("Talking Clock", TAPPSINST$) THEN
  503.         CreateProgmanItem GROUP$, "Talking Clock", MakePath(DEST$, "tclock.exe"), "", cmoOverwrite
  504.         INI$ = MakePath(DEST$, "VOICE.INI")
  505.         CreateIniKeyValue INI$, "Voice Library", "TCLOCK.EXE", "+female.voi", cmoNone
  506.         INI$ = MakePath(DEST$, "FACE.INI")
  507.         CreateIniKeyValue INI$, "Face", "TCLOCK.EXE", "+NULLFACE.FAC", cmoNone
  508.     END IF
  509.  
  510.     IF StringInList("Talking Calendar", TAPPSINST$) THEN
  511.         CreateProgmanItem GROUP$, "Talking Calendar", MakePath(DEST$, "tcal.exe"), "", cmoOverwrite
  512.         INI$ = MakePath(DEST$, "VOICE.INI")
  513.         CreateIniKeyValue INI$, "Voice Library", "TCAL.EXE", "+female.voi", cmoNone
  514.         INI$ = MakePath(DEST$, "FACE.INI")
  515.         CreateIniKeyValue INI$, "Face", "TCAL.EXE", "+NULLFACE.FAC", cmoNone
  516.     END IF
  517.  
  518.     IF StringInList("Talking Clock", TAPPSINST$) OR StringInList("Talking Calendar", TAPPSINST$) THEN
  519.         INI$ = MakePath(DEST$, "SCHEDAPI.INI")
  520.         CreateIniKeyValue INI$, "Settings", "HolidayFile", MakePath(DEST$, "TCAL.HOL"), cmoNone
  521.         CreateIniKeyValue INI$, "Settings", "DefaultApptBook", MakePath(DEST$, "DEFAULT.APP"), cmoNone
  522.     END IF
  523.  
  524.     IF StringInList("Talking Calculator", TAPPSINST$) THEN
  525.         CreateProgmanItem GROUP$, "Talking Calculator", MakePath(DEST$, "tcalc.exe"), "", cmoOverwrite
  526.         CreateIniKeyValue WININI$, "FONTS", "LCD (VGA Res)", "lcd.fon", cmoNone
  527.         CreateIniKeyValue WININI$, "FONTS", "LCD (8514a Res)", "lcdbig.fon", cmoNone
  528.          INI$ = MakePath(DEST$, "VOICE.INI")
  529.          CreateIniKeyValue INI$, "Voice Library", "TCALC.EXE", "+female.voi", cmoNone
  530.          INI$ = MakePath(DEST$, "FACE.INI")
  531.          CreateIniKeyValue INI$, "Face", "TCALC.EXE", "+NULLFACE.FAC", cmoNone
  532.     END IF
  533.  
  534.     IF StringInList("WFS Sound Editor", TAPPSINST$) THEN
  535.         CreateProgmanItem GROUP$, "WFS Edit", MakePath(DEST$, "wfsedit.exe"), "", cmoOverwrite
  536.     END IF
  537.  
  538.     IF StringInList("Intruder Alert", TAPPSINST$) THEN
  539.         CreateProgmanItem GROUP$, "Intruder Alert", MakePath(DEST$, "alert.exe"), "", cmoOverwrite
  540.     END IF
  541.  
  542.     IF StringInList("Groupie", TAPPSINST$) THEN
  543.         CreateProgmanItem GROUP$, "Groupie", MakePath(DEST$, "groupie.exe"), "", cmoOverwrite
  544.         CreateProgmanItem GROUP$, "Groupie Documentation", "write.exe " + MakePath(DEST$, "groupie.wri"), "", cmoOverwrite
  545.     END IF
  546.  
  547.     END IF
  548.  
  549.     '' Perform sound file installation
  550.     IF GetListItem(CHECKSTATES$, SOUNDFILES) = "ON" THEN
  551.     IF StringInList("Star Trek Stubs", SOUNDSINST$) THEN
  552.         ''Set the StarTrek .ESF pointer variable correctly...
  553.         path$ = GetIniKeyString(MakePath(WINDIR$, "AD_PREFS.INI"), "After Dark", "Path")
  554.         IF path$ <> "" THEN
  555.         path$ = MakePath(path$, "st_res\st_snd.dll")
  556.         CreateIniKeyValue WININI$, "Sound API", "StarTrek", path$, cmoOverwrite
  557.         END IF
  558.     END IF
  559.     END IF
  560.  
  561.     '' Install DSOUND.DLL as the wave driver if there isn't one already, somewhere...
  562.     IF INSTDSOUND% AND EXISTS(MakePath(SYSDIR$, "DSOUND.DLL")) THEN
  563.     CreateIniKeyValue SYSINI$, "drivers", "wave", "DSOUND.DLL", cmoOverwrite
  564.     END IF
  565. END SUB
  566.  
  567.  
  568.  
  569. '' Remove all files and directories...
  570.  
  571. SUB DoUninstall STATIC
  572.     res% = sndPlaySound(MakePath(INSTSNDDIR$, "areusure.wav"), 3)
  573.     IF IDYES = DoMsgBox("Are you sure you want to remove Wired for Sound Pro CD from your system?", "Wired for Sound", MB_YESNO) THEN
  574.     DEST$ = GetIniKeyString(WININI$, "Aristosoft", "WFS")
  575.     IF DEST$ <> "" THEN
  576.         old% = ShowWaitCursor()
  577.  
  578.         RemDirectory MakePath(DEST$, "AVI")
  579.         RemDirectory MakePath(DEST$, "BUTTONS")
  580.         RemDirectory MakePath(DEST$, "MISCMID")
  581.         RemDirectory MakePath(DEST$, "PHRASES")
  582.         RemDirectory MakePath(DEST$, "FUNNYSND")
  583.         RemDirectory MakePath(DEST$, "ICONSND")
  584.         RemDirectory MakePath(DEST$, "HUMANSND")
  585.         RemDirectory MakePath(DEST$, "CLSCLMID")
  586.         RemDirectory MakePath(DEST$, "JAZZMID")
  587.         RemDirectory MakePath(DEST$, "NWAGEMID")
  588.         RemDirectory MakePath(DEST$, "PLSNTMID")
  589.         RemDirectory MakePath(DEST$, "R&BMID")
  590.         RemDirectory MakePath(DEST$, "STARTREK")
  591.         RemDirectory MakePath(DEST$, "JOBSAVER")
  592.         RemDirectory DEST$
  593.  
  594.         RemoveIniSection WININI$, "Sound API", cmoNone
  595.  
  596.         '' Reset default startup and exit sounds
  597.         s$ = GetIniKeyString(WININI$, "Sounds", "OldSystemStart")
  598.         RemoveIniKey WININI$, "Sounds", "OldSystemStart", cmoNone
  599.         CreateIniKeyValue WININI$, "Sounds", "SystemStart", s$, cmoOverwrite
  600.  
  601.         s$ = GetIniKeyString(WININI$, "Sounds", "OldSystemExit")
  602.         RemoveIniKey WININI$, "Sounds", "OldSystemExit", cmoNone
  603.         CreateIniKeyValue WININI$, "Sounds", "SystemExit", s$, cmoOverwrite
  604.  
  605.         RestoreCursor old%
  606.  
  607.         i% = DoMsgBox("Wired for Sound Pro CD has been removed.  You can run Setup later to re-install it.", "Wired for Sound", MB_OK)
  608.  
  609.         END
  610.     ELSE
  611.         i% = DoMsgBox("Wired for Sound Pro CD is not installed or cannot be found!", "Wired for Sound", MB_OK)
  612.     END IF
  613.     END IF
  614. END SUB
  615.